import java.util.ArrayList;
import java.util.List;

public class ArrayListTest {
    public static void main(String[] args) {
        List<String> list=new ArrayList<>();
        boolean flag = list.add("bjxt");
        boolean flag1 =list.add("oldzhao");
        list.add("yyds");
        //超过索引范围
        //list.add(3,"zsa");

        //修改元素
        list.set(0,"itbz");
        //获取元素
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

        //根据索引删除元素
        System.out.println("----删除元素----");
        list.remove(1);
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        System.out.println("----清除容器----");
        list.clear();
        System.out.println(list);

        System.out.println("----判断容器是否为空----");
        list.add("迪丽热巴");
        list.add("古力娜扎");
        list.add("欧阳娜娜");
        list.add("古力娜扎");
        boolean empty = list.isEmpty();
        System.out.println(empty);

        System.out.println("----判断容器是否包含指定元素----");
        boolean contains = list.contains("古力娜扎");
        System.out.println(contains);


        System.out.println("----查找元素在元素中的位置（索引）----");
        int 古力娜扎 = list.indexOf("古力娜扎");
        System.out.println(古力娜扎);
        System.out.println("----元素最后一次出现的位置----");
        int 古力娜扎1 = list.lastIndexOf("古力娜扎");
        System.out.println(古力娜扎1);

        System.out.println("----将单例集合转换为数组----");
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }
        System.out.println("----转换为Object----");
        Object[] arr= list.toArray();
        for(int i=0;i<arr.length;i++){
            String str= (String) arr[i];
            System.out.println(str);
        }

        System.out.println("----将单例数组转换为指定类型的数据----");
        String[] strings = list.toArray(new String[list.size()]);
        for(int i=0;i<strings.length;i++){
            System.out.println(strings[i]);
        }

        System.out.println("----容器的并集操作----");
        List<String> a=new ArrayList<>();
        a.add("a");
        a.add("b");
        a.add("c");
        List<String> b=new ArrayList<>();
        b.add("b");
        b.add("c");
        b.add("d");
        boolean flag2 = a.addAll(b);
        System.out.println(flag2);
        for(String str:a){
            System.out.println(str);
        }

        System.out.println("----容器的交集操作----");
        List<String> a1=new ArrayList<>();
        a1.add("a");
        a1.add("b");
        a1.add("c");
        List<String> b1=new ArrayList<>();
        b1.add("b");
        b1.add("c");
        b1.add("d");
        boolean flag3 = a1.retainAll(b1);
        System.out.println(flag3);
        for(String str:a1){
            System.out.println(str);
        }

        System.out.println("----容器的差集操作----");
        List<String> a2=new ArrayList<>();
        a2.add("a");
        a2.add("b");
        a2.add("c");
        List<String> b2=new ArrayList<>();
        b2.add("b");
        b2.add("c");
        b2.add("d");
        boolean flag4 = a2.removeAll(b2);
        System.out.println(flag4);
        for(String str:a2){
            System.out.println(str);
        }
    }
}
